| Package | au.digitalhealth.cda.schema | 
| Resource Type | StructureDefinition | 
| Id | InfrastructureRoot | 
| FHIR Version | R5 | 
| Source | http://ns.electronichealth.net.au/cda/https://build.fhir.org/ig/AuDigitalHealth/cda-au-schema/StructureDefinition-InfrastructureRoot.html | 
| URL | http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot | 
| Version | 1.0.0 | 
| Status | active | 
| Date | 2025-08-07T23:03:06+00:00 | 
| Name | InfrastructureRoot | 
| Title | InfrastructureRoot (Base Type for all CDA Classes) | 
| Realm | au | 
| Authority | national | 
| Description | Defines the base elements and attributes on all CDA elements (other than data types) | 
| Type | http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot | 
| Kind | logical | 
| StructureDefinition | |
| Act | Act (CDA Class) | 
| AssignedAuthor | AssignedAuthor (CDA Class) | 
| AssignedCustodian | AssignedCustodian (CDA Class) | 
| AssignedEntity | AssignedEntity (CDA Class) | 
| AssociatedEntity | AssociatedEntity (CDA Class) | 
| Authenticator | Authenticator (CDA Class) | 
| Author | Author (CDA Class) | 
| AuthoringDevice | AuthoringDevice (CDA Class) | 
| Authorization | Authorization (CDA Class) | 
| Birthplace | Birthplace (CDA Class) | 
| Component | Component (CDA Class) | 
| ComponentOf | ComponentOf (CDA Class) | 
| Consent | Consent (CDA Class) | 
| Criterion | Criterion (CDA Class) | 
| Custodian | Custodian (CDA Class) | 
| CustodianOrganization | CustodianOrganization (CDA Class) | 
| DataEnterer | DataEnterer (CDA Class) | 
| Device | Device (CDA Class) | 
| DocumentationOf | DocumentationOf (CDA Class) | 
| EncompassingEncounter | EncompassingEncounter (CDA Class) | 
| Encounter | Encounter (CDA Class) | 
| EncounterParticipant | EncounterParticipant (CDA Class) | 
| Entity | Entity (CDA Class) | 
| Entry | Entry (CDA Class) | 
| EntryRelationship | EntryRelationship (CDA Class) | 
| ExternalAct | ExternalAct (CDA Class) | 
| ExternalDocument | ExternalDocument (CDA Class) | 
| ExternalObservation | ExternalObservation (CDA Class) | 
| ExternalProcedure | ExternalProcedure (CDA Class) | 
| Guardian | Guardian (CDA Class) | 
| HealthCareFacility | HealthCareFacility (CDA Class) | 
| InFulfillmentOf | InFulfillmentOf (CDA Class) | 
| InFulfillmentOf1 | InFulfillmentOf1 (CDA Class) | 
| Informant | Informant (CDA Class) | 
| InformationRecipient | InformationRecipient (CDA Class) | 
| IntendedRecipient | IntendedRecipient (CDA Class) | 
| LabeledDrug | LabeledDrug (CDA Class) | 
| LanguageCommunication | LanguageCommunication (CDA Class) | 
| LegalAuthenticator | LegalAuthenticator (CDA Class) | 
| MaintainedEntity | MaintainedEntity (CDA Class) | 
| ManufacturedProduct | ManufacturedProduct (CDA Class) | 
| Material | Material (CDA Class) | 
| NonXMLBody | NonXMLBody (CDA Class) | 
| Observation | Observation (CDA Class) | 
| ObservationMedia | ObservationMedia (CDA Class) | 
| ObservationRange | ObservationRange (CDA Class) | 
| Order | Order (CDA Class) | 
| Organization | Organization (CDA Class) | 
| OrganizationPartOf | OrganizationPartOf (CDA Class) | 
| Organizer | Organizer (CDA Class) | 
| OrganizerComponent | OrganizerComponent (CDA Class) | 
| ParentDocument | ParentDocument (CDA Class) | 
| Participant1 | Participant1 (CDA Class) | 
| Participant2 | Participant2 (CDA Class) | 
| ParticipantRole | ParticipantRole (CDA Class) | 
| Patient | Patient (CDA Class) | 
| PatientRole | PatientRole (CDA Class) | 
| Performer1 | Performer1 (CDA Class) | 
| Performer2 | Performer2 (CDA Class) | 
| Person | Person (CDA Class) | 
| Place | Place (CDA Class) | 
| PlayingEntity | PlayingEntity (CDA Class) | 
| PolicyOrAccount | Agency extension PolicyOrAccount | 
| Precondition | Precondition (CDA Class) | 
| Precondition2 | Precondition2 (CDA Class) | 
| PreconditionBase | PreconditionBase (CDA Class) | 
| Procedure | Procedure (CDA Class) | 
| RecordTarget | RecordTarget (CDA Class) | 
| Reference | Reference (CDA Class) | 
| RegionOfInterest | RegionOfInterest (CDA Class) | 
| RelatedDocument | RelatedDocument (CDA Class) | 
| RelatedEntity | RelatedEntity (CDA Class) | 
| RelatedSubject | RelatedSubject (CDA Class) | 
| Section | Section (CDA Class) | 
| ServiceEvent | ServiceEvent (CDA Class) | 
| Specimen | Specimen (CDA Class) | 
| SpecimenRole | SpecimenRole (CDA Class) | 
| StructuredBody | StructuredBody (CDA Class) | 
| Subject | Subject (CDA Class) | 
| SubjectPerson | SubjectPerson (CDA Class) | 
| SubstanceAdministration | SubstanceAdministration (CDA Class) | 
| Supply | Supply (CDA Class) | 
| administrativeGenderCode | Agency extension administrativeGenderCode | 
| admissionReferralSourceCode | Agency extension admissionReferralSourceCode | 
| asEmployment | ADHA Extension asEmployment | 
| asEntityIdentifier | ADHA extension asEntityIdentifier | 
| asIngredient | ADHA extension asIngredient | 
| asQualifications | ADHA extension asEmployment | 
| asQualifiedEntity | ADHA extension asQualifiedEntity | 
| asSpecimenInContainer | ADHA extension SpecimenInContainer | 
| assigningGeographicArea | ADHA extension assigningGeographicArea used in asEntityIdentifier | 
| au-Act | ADHA Act (CDA Class) | 
| au-AssignedAuthor | ADHA AssignedAuthor (CDA Class) | 
| au-AssignedCustodian | ADHA AssignedCustodian (CDA Class) | 
| au-AssignedEntity | ADHA AssignedEntity (CDA Class) | 
| au-AssociatedEntity | ADHA AssociatedEntity (CDA Class) | 
| au-Author | ADHA Author (CDA Class) | 
| au-AuthoringDevice | ADHA AuthoringDevice (CDA Class) | 
| au-Component | ADHA Component (CDA Class) | 
| au-ComponentOf | ADHA ComponentOf (CDA Class) | 
| au-Custodian | ADHA Custodian (CDA Class) | 
| au-CustodianOrganization | ADHA CustodianOrganization (CDA Class) | 
| au-Device | ADHA Device (CDA Class) | 
| au-EncompassingEncounter | ADHA EncompassingEncounter (CDA Class) | 
| au-Encounter | ADHA Encounter (CDA Class) | 
| au-EncounterParticipant | ADHA EncounterParticipant (CDA Class) | 
| au-Entity | ADHA Entity (CDA Class) | 
| au-Entry | ADHA Entry (CDA Class) | 
| au-EntryRelationship | ADHA EntryRelationship (CDA Class) | 
| au-ExternalAct | ADHA ExternalAct (CDA Class) | 
| au-ExternalDocument | ADHA ExternalDocument (CDA Class) | 
| au-HealthCareFacility | ADHA HealthCareFacility (CDA Class) | 
| au-InFulfillmentOf | ADHA InFulfillmentOf (CDA Class) | 
| au-Informant | ADHA Informant (CDA Class) | 
| au-InformationRecipient | ADHA InformationRecipient (CDA Class) | 
| au-IntendedRecipient | ADHA IntendedRecipient (CDA Class) | 
| au-LegalAuthenticator | ADHA LegalAuthenticator (CDA Class) | 
| au-ManufacturedProduct | ADHA ManufacturedProduct (CDA Class) | 
| au-Material | ADHA Material (CDA Class) | 
| au-Observation | ADHA Observation (CDA Class) | 
| au-ObservationMedia | ADHA ObservationMedia (CDA Class) | 
| au-ObservationRange | ADHA ObservationRange (CDA Class) | 
| au-Order | ADHA Order (CDA Class) | 
| au-Organization | ADHA Organization (CDA Class) | 
| au-OrganizationPartOf | ADHA OrganizationPartOf (CDA Class) | 
| au-Organizer | ADHA Organizer (CDA Class) | 
| au-OrganizerComponent | ADHA OrganizerComponent (CDA Class) | 
| au-ParentDocument | ADHA ParentDocument (CDA Class) | 
| au-Participant1 | ADHA Participant1 (CDA Class) | 
| au-Participant2 | ADHA Participant2 (CDA Class) | 
| au-ParticipantRole | ADHA ParticipantRole ADHA (CDA Class) | 
| au-Patient | ADHA Patient (CDA Class) | 
| au-PatientRole | ADHA PatientRole (CDA Class) | 
| au-Performer2 | ADHA Performer2 (CDA Class) | 
| au-Person | ADHA Person (CDA Class) | 
| au-Place | ADHA Place (CDA Class) | 
| au-PlayingEntity | ADHA PlayingEntity (CDA Class) | 
| au-Precondition | ADHA Precondition (CDA Class) | 
| au-Procedure | ADHA Procedure (CDA Class) | 
| au-RecordTarget | ADHA RecordTarget (CDA Class) | 
| au-Reference | ADHA Reference (CDA Class) | 
| au-RegionOfInterest | ADHA RegionOfInterest (CDA Class) | 
| au-RelatedDocument | ADHA RelatedDocument (CDA Class) | 
| au-Section | ADHA Section (CDA Class) | 
| au-Specimen | ADHA Specimen (CDA Class) | 
| au-SpecimenRole | SpecimenRole (CDA Class) | 
| au-StructuredBody | ADHA StructuredBody (CDA Class) | 
| au-SubstanceAdministration | ADHA SubstanceAdministration (CDA Class) | 
| au-Supply | ADHA Supply (CDA Class) | 
| au-languageCommunication | ADHA LanguageCommunication (CDA Class) | 
| completionCode | ADHA extension completionCode | 
| container | ADHA extension Container | 
| controlAct | ADHA extension controlAct | 
| coverage | Agency extension coverage | 
| coverage2 | ADHA extension coverage2 | 
| deceasedInd | ADHA extension deceasedInd | 
| deceasedTime | ADHA extension deceasedTime | 
| desc | Agency extension desc | 
| dischargeDispositionCode | Agency extension dischargeDispositionCode | 
| employerOrganization | ADHA extension employerOrganization | 
| entitlement | ADHA extension entitlement | 
| expirationTime | Agency extension expirationTime | 
| formCode | Agency extension formCode | 
| id | ADHA Extension id | 
| ingredientManufacturedMaterial | ADHA extension ingredientManufacturedMaterial | 
| interpreterRequiredInd | Australian Digital Health Agency CDA extension Interpreter Required Indicator | 
| methodCode | Agency extension methodCode | 
| multipleBirthInd | ADHA extension multipleBirthInd | 
| multipleBirthOrderNumber | ADHA extension multipleBirthOrderNumber | 
| name | Agency extension organisation name | 
| participant | ADHA extension participant | 
| personalRelationship | ADHA extension personalRelationship | 
| policy | Agency extension policy | 
| subjectOf1 | Agency extension subjectOf1 | 
| subjectOf2 | Agency extension subjectOf2 | 
| substitutionPermission | Agency extension substitutionPermission | 
| StructureDefinition | |
| ANY | ANY: DataValue (V3 Data Type) | 
| CS | CS: CodedSimpleValue (V3 Data Type) | 
| II | II: InstanceIdentifier (V3 Data Type) | 
| st-simple | st: Character String | 
Note: links and images are rebased to the (stated) source
An abstract super-type for all RIM classes, either directly or through inheritance.
In general, constraint declarations, such as those communicated in this class's attributes, may occur wherever a RIM class or one of its derived clones is instantiated in an HL7 communication. Thus, the attributes MUST be available in all RIM classes and clones.
Infrastructure Root provides a set of communication infrastructure attributes that may be used in instances of HL7-specified, RIM-based communications. When valued in a communication instance, these attributes indicate whether the information structure is being constrained by specifically defined templates, realms or common communication element types.
{
  "resourceType": "StructureDefinition",
  "id": "InfrastructureRoot",
  "text": {
    "status": "generated",
    "div": "<!-- snip (see above) -->"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/logical-target",
      "_valueBoolean": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/data-absent-reason",
            "valueCode": "not-applicable"
          }
        ]
      }
    },
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-namespace",
      "valueUri": "urn:hl7-org:v3"
    },
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-name",
      "valueString": "infrastructureRoot"
    },
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/type-profile-style",
      "valueCode": "cda"
    },
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/logical-container",
      "valueUri": "http://hl7.org/cda/stds/core/StructureDefinition/ClinicalDocument"
    }
  ],
  "url": "http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot",
  "version": "1.0.0",
  "name": "InfrastructureRoot",
  "title": "InfrastructureRoot (Base Type for all CDA Classes)",
  "status": "active",
  "experimental": false,
  "date": "2025-08-07T23:03:06+00:00",
  "publisher": "HL7",
  "description": "Defines the base elements and attributes on all CDA elements (other than data types)",
  "fhirVersion": "5.0.0",
  "mapping": [
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    }
  ],
  "kind": "logical",
  "abstract": true,
  "type": "http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot",
  "baseDefinition": "http://hl7.org/cda/stds/core/StructureDefinition/ANY",
  "derivation": "specialization",
  "snapshot": {
    "extension": [
      {
        "url": "http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version",
        "valueString": "1.0.0"
      }
    ],
    "element": [
      {
        "id": "InfrastructureRoot",
        "path": "InfrastructureRoot",
        "short": "Base for all types and resources",
        "definition": "Defines the basic properties of every data value. This is an abstract type, meaning that no value can be just a data value without belonging to any concrete type. Every concrete type is a specialization of this general abstract DataValue type.",
        "min": 1,
        "max": "*",
        "base": {
          "path": "Base",
          "min": 0,
          "max": "*"
        },
        "isModifier": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "InfrastructureRoot.nullFlavor",
        "path": "InfrastructureRoot.nullFlavor",
        "representation": [
          "xmlAttr"
        ],
        "label": "Exceptional Value Detail",
        "definition": "If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ANY.nullFlavor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"
        }
      },
      {
        "id": "InfrastructureRoot.realmCode",
        "path": "InfrastructureRoot.realmCode",
        "definition": "When valued in an instance, this attribute signals the imposition of realm-specific constraints. The value of this attribute identifies the realm in question",
        "min": 0,
        "max": "*",
        "base": {
          "path": "InfrastructureRoot.realmCode",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CS"
          }
        ]
      },
      {
        "id": "InfrastructureRoot.typeId",
        "path": "InfrastructureRoot.typeId",
        "definition": "When valued in an instance, this attribute signals the imposition of constraints defined in an HL7-specified message type. This might be a common type (also known as CMET in the messaging communication environment), or content included within a wrapper. The value of this attribute provides a unique identifier for the type in question.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "InfrastructureRoot.typeId",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ],
        "constraint": [
          {
            "key": "II-1",
            "severity": "error",
            "human": "An II instance must have either a root or an nullFlavor.",
            "expression": "root.exists() or nullFlavor.exists()"
          }
        ]
      },
      {
        "id": "InfrastructureRoot.typeId.nullFlavor",
        "path": "InfrastructureRoot.typeId.nullFlavor",
        "representation": [
          "xmlAttr"
        ],
        "label": "Exceptional Value Detail",
        "definition": "If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ANY.nullFlavor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"
        }
      },
      {
        "id": "InfrastructureRoot.typeId.assigningAuthorityName",
        "path": "InfrastructureRoot.typeId.assigningAuthorityName",
        "representation": [
          "xmlAttr"
        ],
        "label": "Assigning Authority Name",
        "definition": "A human readable name or mnemonic for the assigning authority. The Assigning Authority Name has no computational value. The purpose of a Assigning Authority Name is to assist an unaided human interpreter of an II value to interpret the authority. Note: no automated processing must depend on the assigning authority name to be present in any form.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "II.assigningAuthorityName",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "InfrastructureRoot.typeId.displayable",
        "path": "InfrastructureRoot.typeId.displayable",
        "representation": [
          "xmlAttr"
        ],
        "label": "Displayable",
        "definition": "Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "II.displayable",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "boolean",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/bl-simple"
            ]
          }
        ]
      },
      {
        "id": "InfrastructureRoot.typeId.root",
        "path": "InfrastructureRoot.typeId.root",
        "representation": [
          "xmlAttr"
        ],
        "label": "Root",
        "definition": "Identifies the type as an HL7 Registered model",
        "min": 1,
        "max": "1",
        "base": {
          "path": "II.root",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/oid",
              "http://hl7.org/cda/stds/core/StructureDefinition/uuid",
              "http://hl7.org/cda/stds/core/StructureDefinition/ruid"
            ]
          }
        ],
        "fixedString": "2.16.840.1.113883.1.3"
      },
      {
        "id": "InfrastructureRoot.typeId.extension",
        "path": "InfrastructureRoot.typeId.extension",
        "representation": [
          "xmlAttr"
        ],
        "label": "Extension",
        "definition": "A character string as a unique identifier within the scope of the identifier root.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "II.extension",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "InfrastructureRoot.templateId",
        "path": "InfrastructureRoot.templateId",
        "definition": "When valued in an instance, this attribute signals the imposition of a set of template-defined constraints. The value of this attribute provides a unique identifier for the templates in question",
        "min": 0,
        "max": "*",
        "base": {
          "path": "InfrastructureRoot.templateId",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ]
      }
    ]
  },
  "differential": {
    "element": [
      {
        "id": "InfrastructureRoot",
        "path": "InfrastructureRoot",
        "min": 1,
        "max": "*"
      },
      {
        "id": "InfrastructureRoot.realmCode",
        "path": "InfrastructureRoot.realmCode",
        "definition": "When valued in an instance, this attribute signals the imposition of realm-specific constraints. The value of this attribute identifies the realm in question",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CS"
          }
        ]
      },
      {
        "id": "InfrastructureRoot.typeId",
        "path": "InfrastructureRoot.typeId",
        "definition": "When valued in an instance, this attribute signals the imposition of constraints defined in an HL7-specified message type. This might be a common type (also known as CMET in the messaging communication environment), or content included within a wrapper. The value of this attribute provides a unique identifier for the type in question.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ]
      },
      {
        "id": "InfrastructureRoot.typeId.root",
        "path": "InfrastructureRoot.typeId.root",
        "representation": [
          "xmlAttr"
        ],
        "definition": "Identifies the type as an HL7 Registered model",
        "min": 1,
        "max": "1",
        "fixedString": "2.16.840.1.113883.1.3"
      },
      {
        "id": "InfrastructureRoot.typeId.extension",
        "path": "InfrastructureRoot.typeId.extension",
        "representation": [
          "xmlAttr"
        ],
        "definition": "A character string as a unique identifier within the scope of the identifier root.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "InfrastructureRoot.templateId",
        "path": "InfrastructureRoot.templateId",
        "definition": "When valued in an instance, this attribute signals the imposition of a set of template-defined constraints. The value of this attribute provides a unique identifier for the templates in question",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ]
      }
    ]
  }
}